//package com.hejun.quartz.config;
//
//import com.hejun.quartz.job.QuartzJob;
//import org.quartz.JobDataMap;
//import org.quartz.SimpleTrigger;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.scheduling.quartz.CronTriggerFactoryBean;
//import org.springframework.scheduling.quartz.JobDetailFactoryBean;
//import org.springframework.scheduling.quartz.SchedulerFactoryBean;
//import org.springframework.scheduling.support.CronTrigger;
//
//@Configuration
//public class QuartzConfig {
//    @Bean
//        //将继承QuartzJobBean类的QuartzJob2封装成一个JobDetail
//    JobDetailFactoryBean jobDetail() {
//        JobDetailFactoryBean jobDetail = new JobDetailFactoryBean();
//        jobDetail.setJobClass(QuartzJob.class); //指定要封装的类
//        JobDataMap map = new JobDataMap();
//        map.put("orderNo", "1001"); //传递参数
//        jobDetail.setJobDataMap(map);
//        jobDetail.setDurability(true);//用于设置 Job 的持久性。 就像是给这个任务打上了一个标签，告诉调度器要对这个任务进行特殊处理，确保它不会因为没有触发器而被移除。
//        return jobDetail;
//    }
//
//    @Bean //为任务jobDetail2创建触发规则,可使用CRON规则
//    CronTriggerFactoryBean trigger2(){
//        CronTriggerFactoryBean trigger=new CronTriggerFactoryBean();
//        trigger.setJobDetail(jobDetail().getObject());
//        trigger.setCronExpression("0/5 * * * * ?");//每分钟的第0，20，40秒执行一次
//        return trigger;
//    }
//
//    @Bean   //启动上面创建的两个触发器
//    SchedulerFactoryBean schedulerFactoryBean(){
//        SchedulerFactoryBean mySchedule=new SchedulerFactoryBean();
//
//        org.quartz.CronTrigger object = trigger2().getObject();
//
//        mySchedule.setTriggers(object);//计划同时装配多个触发器
//        return mySchedule;
//    }
//
//}
